package com.hrt.myprestocode;

import com.facebook.presto.common.type.StandardTypes;
import com.facebook.presto.spi.function.Description;
import com.facebook.presto.spi.function.ScalarFunction;
import com.facebook.presto.spi.function.SqlType;
import io.airlift.slice.Slice;
import io.airlift.slice.Slices;

/**
 * 自定义UDF函数，本函数实现大写转小写功能
 */
public class MyUDF {

    @ScalarFunction("myudf") //指定udf在presto中使用的名称，也就是函数名称
    @Description("xxx") //指定当前注册函数在Presto中的注释
    @SqlType(StandardTypes.VARCHAR) //函数返回值类型的定义
    public static Slice lowercase(@SqlType(StandardTypes.VARCHAR) Slice in){
        String s = in.toStringUtf8();
        return Slices.utf8Slice(s.toLowerCase());
    }
}
